Mechanical Verification of Automatic Synthesis of Fault-Tolerant Programs
نویسندگان
چکیده
Fault-tolerance is a crucial property in many systems. Thus, mechanical verification of algorithms associated with synthesis of faulttolerant programs is desirable to ensure their correctness. In this paper, we present the mechanized verification of algorithms that automate the addition of fault-tolerance to a given fault-intolerant program using the PVS theorem prover. By this verification, not only we prove the correctness of the synthesis algorithms, but also we guarantee that any program synthesized by these algorithms is correct by construction. Towards this end, we formally define a uniform framework for formal specification and verification of fault-tolerance that consists of abstract definitions for programs, specifications, faults, and levels of fault-tolerance, so that they are independent of platform and architecture. The essence of synthesis algorithms involves fixpoint calculations. Hence, we also develop a reusable library for fixpoint calculations on finite sets in PVS.
منابع مشابه
Automatic Synthesis of Fault-tolerance
AUTOMATIC SYNTHESIS OF FAULT-TOLERANCE By Ali Ebnenasir Fault-tolerance is an important property of today’s software systems as we rely on computers in our daily affairs (e.g., medical equipments, transportation systems, etc). Since it is difficult (if not impossible) to anticipate all classes of faults that perturb a program while designing that program, it is desirable to incrementally add fa...
متن کاملA case-study in component-based mechanical verification of fault-tolerant programs
In this paper, we present a case study to demonstrate that the decomposition of a fault-tolerant program into its components is useful in its mechanical verification. More specifically, we discuss our experience in using the theorem prover PVS to verify Dijkstra’s token ring program in a component-based manner. We also demonstrate the advantages of component based mechanical verification.
متن کاملMechanical Verification of Fault Tolerant Architecture in a Prototype Verification System
In this paper, we present an approach to embed our formal Generic Fault Tolerant Software Architecture (GFTSA) model in the PVS theorem prover to achieve automatic verification support for reasoning about fault tolerant system properties. In order to make the verification process more efficient and systematic, we also propose a template approach for the auto-generation of specifications and pro...
متن کاملPolynomial Time Synthesis of Byzantine Agreement
We present a polynomial time algorithm for automatic synthesis of fault-tolerant distributed programs starting from fault-intolerant versions of those programs. Since this synthesis problem is known to be NP-hard, our algorithm relies on heuristics to reduce the complexity. We demonstrate that our algorithm suffices to synthesize an agreement program that tolerates a byzantine fault.
متن کامل